/**************************************************************************
 *  创建者：        hualei
 *  开始时间：   2018.06.23
 *  copyright:  (C) 深圳市华友高科有限公司
 *  修改说明：  (每次有修改就添加一条，带有 修改人，修改时间，修改描述)
 *
 ***************************************************************************
 *   SET_ODOM 重置里程计指令属性编辑视窗类
 *
 ***************************************************************************/
#ifndef ODOMETRYINSTRUCTIONVIEW_H
#define ODOMETRYINSTRUCTIONVIEW_H

#include <QWidget>
#include "odometryinstructionview_global.h"
#include <QObject>
#include <QTranslator>

class ProgramView;

namespace Ui {
class OdometryInstructionView;
}

//struct OdometryResetPoint
//{
//    double posX;
//    double posY;
//    double posR;
//    QString noteStr;

//};

/**
 * @brief The OdometryInstructionView class     SET_ODOM 重置里程计指令属性编辑视窗类
 */
class ODOMETRYINSTRUCTIONVIEWIEWSHARE_EXPORT OdometryInstructionView : public QWidget
{
    Q_OBJECT

public:
    /**
     * @brief OdometryInstructionView       构造函数
     * @param parent
     */
    explicit OdometryInstructionView(int styleId,QWidget *parent = 0);

    /**
     * @brief getInput          获取用户输入数据
     */
    void getInput();

    /**
     * @brief updataView        更新数据到界面
     */
    void updataView();

    /**
     * @brief changeLanguage        语言更改
     * @param language              语言编号
     */
    void changeLanguage(int language);

    void initialDisplayStyle(int styleId);

private slots:
    /**
     * @brief on_Reset_Odometry_Btn_clicked     点击确定按钮响应槽函数
     */
    void on_Reset_Odometry_Btn_clicked();

    /**
     * @brief on_save_Btn_clicked               点击保存按钮响应槽函数
     */
    void on_save_Btn_clicked();

    /**
     * @brief on_forward_Btn_clicked            点击上一页按钮响应槽函数
     */
    void on_forward_Btn_clicked();

    /**
     * @brief on_clearNote_Btn_clicked          点击清除按钮响应槽函数
     */
    void on_clearNote_Btn_clicked();

signals:

    /**
     * @brief finishEditInstruction             指令属性编辑完成信号
     */
    void finishEditInstruction();

    /**
     * @brief saveInstructionSignal             保存编辑完成的指令字符串信号
     * @param instructionStr
     */
    void saveInstructionSignal(QString instructionStr);

    /**
     * @brief cleanNoteSignal                   清除注释信号
     */
    void cleanNoteSignal();

public:

    /**
     * @brief programView           程序主视窗对象
     */
    ProgramView *programView;

    /**
     * @brief instructionOut        编辑好的指令字符串
     */
    QString instructionOut;

    /**
     * @brief posX              点位Z坐标
     */
    double posX;

    /**
     * @brief posY              点位Y坐标
     */
    double posY;

    /**
     * @brief posR              点位偏移
     */
    double posR;

    /**
     * @brief noteStr           注释
     */
    QString noteStr;

private:
    Ui::OdometryInstructionView *ui;

    /**
     * @brief translator           翻译
     */
    QTranslator translator;

};

#endif // ODOMETRYINSTRUCTIONVIEW_H
